{
 "cells": [
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "# Programmatically Understanding Gaussian Process."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 2,
   "metadata": {},
   "outputs": [],
   "source": [
    "import numpy as np\n",
    "import matplotlib.pyplot as plt\n",
    "import warnings\n",
    "warnings.filterwarnings('ignore')\n",
    "%matplotlib inline"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## A function to make matplotlib plot better"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 3,
   "metadata": {},
   "outputs": [],
   "source": [
    "SPINE_COLOR = 'gray'\n",
    "\n",
    "def format_axes(ax):\n",
    "    for spine in ['top', 'right']:\n",
    "        ax.spines[spine].set_visible(False)\n",
    "\n",
    "    for spine in ['left', 'bottom']:\n",
    "        ax.spines[spine].set_color(SPINE_COLOR)\n",
    "        ax.spines[spine].set_linewidth(0.5)\n",
    "\n",
    "    ax.xaxis.set_ticks_position('bottom')\n",
    "    ax.yaxis.set_ticks_position('left')\n",
    "\n",
    "    for axis in [ax.xaxis, ax.yaxis]:\n",
    "        axis.set_tick_params(direction='out', color=SPINE_COLOR)\n",
    "\n",
    "    return ax"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "### One dimensional Gaussian/Normal\n",
    "\n",
    "We will start the discussion with 1d Gaussians. Let us write some simple code to generate/sample data from "
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 4,
   "metadata": {},
   "outputs": [],
   "source": [
    "one_dim_normal_data = np.random.normal(0, 1, size=10000)\n"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "Let us now visualise the data in a 1d space using scatter plot"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 5,
   "metadata": {
    "scrolled": true
   },
   "outputs": [
    {
     "data": {
      "text/plain": [
       "<matplotlib.axes._subplots.AxesSubplot at 0x13c39afe2b0>"
      ]
     },
     "execution_count": 5,
     "metadata": {},
     "output_type": "execute_result"
    },
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 432x288 with 1 Axes>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "plt.scatter(one_dim_normal_data, np.zeros_like(one_dim_normal_data), alpha=0.2, c='gray', edgecolors='k', marker='o')\n",
    "format_axes(plt.gca())"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 6,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "'F:\\\\my_projects\\\\jupyter_notebooks\\\\data_science'"
      ]
     },
     "execution_count": 6,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "import os\n",
    "os.getcwd()"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "# How to do this"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "metadata": {},
   "outputs": [],
   "source": []
  }
 ],
 "metadata": {
  "kernelspec": {
   "display_name": "Python 3",
   "language": "python",
   "name": "python3"
  },
  "language_info": {
   "codemirror_mode": {
    "name": "ipython",
    "version": 3
   },
   "file_extension": ".py",
   "mimetype": "text/x-python",
   "name": "python",
   "nbconvert_exporter": "python",
   "pygments_lexer": "ipython3",
   "version": "3.6.5"
  }
 },
 "nbformat": 4,
 "nbformat_minor": 2
}
